Libraries

#library(reticulate)
library(tidyverse)
#library(plotly)
library(janitor)
library(readxl)
library(DT)
library(xlsx)

Analysis of NHL Skaters

This is a NHL Players total DK seasonal points based on their point structure
It is ordered by Total Points and then arranged alphabetically by team.
#  note: there are so many columns in the file that "view" will not run them all. 
skater_analysis <- read_csv("extra/Moneypuck/skaters_Moneypuck/skaters.csv", col_names = TRUE) %>%
  select(1, 3:8, 17, 28:29, 33:35, 78, 84) %>%
  clean_names() %>%
  dplyr::filter(situation == "all") %>%
  dplyr::mutate(tot_assists = i_f_primary_assists + i_f_secondary_assists, 
                tot_goal_pts = i_f_goals * 8.5, 
                tot_assist_pts = tot_assists*5, 
                tot_shot_pts = i_f_shot_attempts * 1.5, 
                tot_shot_block_pts = shots_blocked_by_player * 1.3, 
                grand_point_total = tot_goal_pts + tot_assist_pts + tot_shot_pts + tot_shot_block_pts, 
                grand_point_total_per_60 = round((grand_point_total * 60)/(icetime/60), 2)) %>%
  dplyr::relocate(name, team, position, grand_point_total, grand_point_total_per_60, tot_goal_pts, tot_assist_pts, tot_shot_pts, tot_shot_block_pts, ice_time_rank) %>%
  dplyr::arrange(team, desc(grand_point_total)) %>%
  dplyr::select(1:9, 12:13, 11) # minimize the number of fields in skater data

# add in salary data  
money_added <- read_csv("extra/salary/dk_salary_min.csv") %>%
  dplyr::select(1, 3:4)

# join 
skater_analysis <- dplyr::left_join(skater_analysis, money_added, by = "name") 


skater_analysis <- skater_analysis %>%
  drop_na(salary, today) %>%
  dplyr::arrange(desc(grand_point_total_per_60)) %>%
  dplyr::select(1:14) 

  
# add in dynamic shot data 
skater_dynamics <- read_csv("dynamic_totals.csv", col_names = TRUE) %>%
  dplyr::select(3:7) %>%
  dplyr::rename(name = shooter)

# join dynamic tables
skater_dynamic_analysis_money <- dplyr::left_join(skater_analysis, skater_dynamics, by = "name")

skater_dynamic_analysis_money <- skater_dynamic_analysis_money %>%
  dplyr::relocate(1:3, 13, 15:17, 5, 4, 6:11) %>%
  dplyr::relocate(1:16, 18)

Generate a heatmap of the top 35 players based on season totals

NHL Skater Data ordered by Team and Total Season DraftKing Point Structure

datatable(skater_dynamic_analysis_money, class = 'cell-border stripe')

Write an xlsx file to the Monepuck Directory